﻿using KWT.DRG_DIP.DO.qcRules;
using KWT.DRG_DIP.DTO.qcRules;
using RulesEngine.Models;

namespace KWT.DRG_DIP.ISvc
{
    public interface IUserRulesEngineSvc
    {
        /// <summary>
        /// 将公式表达式转换成 Rule 表达式
        /// </summary>
        /// <param name="tenantID">租户ID</param>
        /// <param name="RuleName">规则名称</param>
        /// <param name="Expression">表达式</param>
        /// <param name="SuccessEvent">结果</param>
        /// <param name="QRID"></param>
        public Rule TransformExpression(string tenantID, string QRID, string RuleName, string Expression, string SuccessEvent);

        /// <summary>
        /// 执行规则
        /// </summary>
        /// <param name="tenantID">租户ID</param>
        /// <param name="input">规则引擎 入参</param>
        public List<OutRulesResult> ExecRules(string tenantID, ruleInput input);
    }
}
